/**
 * 背景类，继承自Entity类，用于渲染游戏背景渐变。
 */
class Background extends Entity {

    /**
     * 构造函数，初始化背景渐变。
     * @param {string} topColor - 渐变顶部的颜色。
     * @param {string} bottomColor - 渐变底部的颜色。
     */
    constructor(topColor, bottomColor) {
        super();

        const ctx = document.createElement('canvas').getContext('2d');
        this.gradient = ctx.createLinearGradient(0, 0, 0, CANVAS_HEIGHT);
        this.gradient.addColorStop(0, topColor);
        this.gradient.addColorStop(1, bottomColor);
    }

    /**
     * 渲染背景。
     * @param {object} camera - 当前相机实体，用于确定渲染位置。
     */
    render(camera) {
        ctx.translate(camera.x - CANVAS_WIDTH / 2, camera.y - CANVAS_HEIGHT / 2);
        ctx.fillStyle = this.gradient;
        ctx.fillRect(0, 0, CANVAS_WIDTH, CANVAS_HEIGHT);
    }
}
